In a multi-tenancy computing environment, multiple tenants share the same runtime environment of a single multi-tenancy computing system. During tenant lifecycle management procedures, multiple tenants can be created in the multi-tenancy computing environment. As the multiple tenants operate in the multi-tenancy computing environment, there may come a point when more tenants cannot be created in a given multi-tenancy computing system because the multi-tenancy computing system's capacity reaches its limits i.e. the multi-tenancy computing system gets overloaded.
To avoid this problem, a controller is required that stops/switches-off tenants in “overloaded” multi-tenancy computing systems and starts/switches-on the stopped tenants in other relatively free or lesser loaded multi-tenancy computing systems. Further, it is desired that the stopping of the tenants and the starting of the tenants occurs without long downtimes and long lasting downtime procedures. In order to upgrade a complete multitenant system, including moving all tenants from one multi-tenancy computing system (i.e. a version of an enterprise application suite and associated data) to another multi-tenancy computing system, conventional procedures allow a move of a tenant from one system to another provided only that the two systems have the same software version.
Conventionally, controllers are known that provide a central point of control for assigning computing resources to run a service on a server at a particular time. However, these known controllers do not work with tenants in a multi-tenancy computing environment. Accordingly, these controllers are not suited to manage the movement of a single tenant from one multi-tenancy computing system to another multi-tenancy computing system.